package chai.ning.prequel;

public class Container {
	/* 常量-- 容器 的容量 */
	private static final int DEFAULT_CAPACITY = 10;
	/* 声明一个数组 ，用来存放 数据 */
	private Object[] array;
	/* 临时变量，，用来计数 */
	private int temp;
	/* 字符将元素转为 字符串 缓冲区 */
	public StringBuffer buffer = new StringBuffer();

	/* 数组 array 的 初始化 */
	public Container() {
		super();
		array = new Object[ DEFAULT_CAPACITY ];
	}

	/* 将指定元素添加到 数组中 */
	public void add(Object element) {
		/*  ???  考虑扩容  ???   */
		array[ temp] = element ;
		temp++;
	}
	
	/* 返回 容器 中的元素的字符串形式 即 toString 重写  */
	@Override
	public String toString() {
		buffer.setLength( 0 );
		buffer.append("[");
		for( int i = 0; i < temp ; i++) {
			buffer.append( array[i] );
			if( i < temp - 1) {
				buffer.append(",");
			}
		}
		buffer.append("]");
		return buffer.toString();
	}
	
	/* 返回当前 容器的 容量 */
	public int capacity() {
		return array.length;
	}
	
	/* 返回当前 容器 的元素个数 */
	public int size() {
		return temp;
	}
	
}
